

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HS2S(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HS2S.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HS2S, self).__init__(name='HS2S', num_nodes=7, edges=[])
        
        # Add the edges
        self.add_edges([(2, 0), (0, 4), (1, 3), (3, 5), (4, 6), (6, 5)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """S2S"""
        self["GUID__"] = UUID('29f80041-54c3-4bf4-8313-6c1a74912dd8')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """apply_contains"""
        self.vs[0]["GUID__"] = UUID('67cd18f1-814f-4c0e-84ed-d22653277e9c')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('3a7991ea-ea05-45a4-beec-06a927b72b37')
        self.vs[2]["mm__"] = """ApplyModel"""
        self.vs[2]["GUID__"] = UUID('3b318a06-3426-4090-a9ea-c9e07efcf179')
        self.vs[3]["mm__"] = """match_contains"""
        self.vs[3]["GUID__"] = UUID('5c9e9864-14c1-409a-9145-a145e8c6b424')
        self.vs[4]["mm__"] = """Station_T"""
        self.vs[4]["name"] = """s"""
        self.vs[4]["GUID__"] = UUID('32db7f30-4581-4dce-94e1-35d941af92a2')
        self.vs[5]["mm__"] = """Station_S"""
        self.vs[5]["name"] = """s"""
        self.vs[5]["GUID__"] = UUID('8c9e6f00-cee0-4221-ab61-f6194e3ceac7')
        self.vs[6]["mm__"] = """backward_link"""
        self.vs[6]["GUID__"] = UUID('7fa3c7b9-cca5-4d11-b495-d00b449185c2')

